﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using AuctionSite.Entities;
using AuctionSite.Utils;

namespace AuctionSite.BL
{
    public class SubCategoriaFacade
    {
        public List<SubCategoria> TodasSubCategorias()
        {
            SubCategoriaService subCategoriaService = new SubCategoriaService();
            DataTable dt = subCategoriaService.BuscaTodasSubCategorias();

            return CarregaInfo.CarregaDataTable<SubCategoria>(dt);
        }

        public List<SubCategoria> SubCategoriaPorCategoria(decimal categoriaId)
        {
            SubCategoriaService subCategoriaService = new SubCategoriaService();
            DataTable dt = subCategoriaService.BuscaSubCategoriaPorCategoria(categoriaId);

            return CarregaInfo.CarregaDataTable<SubCategoria>(dt);

        }

        public SubCategoria NovaSubCategoria(
            string nome,
            string categoriaId)
        {
            #region Validação "Campos Em branco"

            if (string.IsNullOrWhiteSpace(nome))
                throw new Exception("O nome é obrigatório");

            if (string.IsNullOrWhiteSpace(categoriaId))
                throw new Exception("A categoria é obrigatória");

            #endregion

            SubCategoria subCategoria = new SubCategoria();
            subCategoria.Nome = nome;
            subCategoria.CategoriaId = int.Parse(categoriaId);

            SubCategoriaService subCategoriaService = new SubCategoriaService();
            return subCategoriaService.Incluir(subCategoria);
        }
    }
}